package com.rerun.mapper;

import com.baomidou.mybatisplus.mapper.BaseMapper;
import com.rerun.entity.YoyoPark;
import com.rerun.entity.vo.ParkListShowVo;
import com.rerun.entity.vo.WatchedMeParkVo;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

/**
 * The interface Yoyo park mapper.
 *
 * @author dax.
 * @version v1.0
 * @since 2017 /9/29 19:33
 */
public interface YoyoParkMapper extends BaseMapper<YoyoPark> {
    /**
     * Show park list list.
     *
     * @param map        the map
     * @param pageNumber the page number
     * @param pageSize   the page size
     * @return ParkListShowVo 展示园所列表信息
     */
    List<ParkListShowVo> showParkList(@Param(value = "map") Map<String, Object> map, Integer pageNumber, Integer pageSize);

    /**
     * Select list watched me list.
     *
     * @param memberId the member id
     * @return the list
     */
    List<WatchedMeParkVo> selectListWatchedMe(@Param("memberId") String memberId);

    /**
     * Select list collection me list.
     *
     * @param memberId the member id
     * @return the list
     */
    List<WatchedMeParkVo> selectListCollectionMe(@Param("memberId") String memberId);

    /**
     * Select list by params list.
     *
     * @param current  the current
     * @param size     the size
     * @param parkName the park name
     * @return the list
     */
    List<YoyoPark> selectListByParams(@Param("current") Integer current, @Param("size") Integer size, @Param("parkName") String parkName);

    /**
     * Select list by params count int.
     *
     * @param parkName the park name
     * @return the int
     */
    int selectListByParamsCount(@Param("parkName") String parkName);

    /**
     * Select list watched me list.
     *
     * @param ids the ids
     * @return the list
     */
    List<YoyoPark> selectPageForBlackList(@Param("ids") List<String> ids);
}
